/*
 * Template criado em 15/09/2008
 * 
 * Autores: Igor Benício de Mesquita
 *          
 */
package br.uniceub.fsw.template.bo;

import br.uniceub.fsw.arquitetura.servico.exception.NegocioException;
import br.uniceub.fsw.template.dao.TemplateDAO;
import br.uniceub.fsw.template.vo.TemplateVO;

/**
 * Business Object da entidade Template. Essa classe é responsável por todos as
 * funcionalidades de negócio relacionadas à entidade.
 * 
 * @author Aluno RA
 */
public class TemplateBO {

    TemplateDAO templateDAO = new TemplateDAO();
    
    /**
     * Valida se já existe um registro do Template no Banco de Dados como verificação para inserção.
     * 
     * @param template template a ser verificado.
     * @throws br.uniceub.fsw.arquitetura.servico.exception.RegraNegocioException caso o Template 
     * informado não possua nome para a verificação ou não já exista um Template com o mesmo nome no banco de dados.
     */
    public void validarVOUnico(TemplateVO template) throws NegocioException {
        
        if(template.getNoTemplate() == null || template.getNoTemplate().isEmpty())
            throw new NegocioException("Nome do Template não foi informado");
        
        TemplateVO templateExemplo = new TemplateVO();
        templateExemplo.setNoTemplate(template.getNoTemplate());
        
        if(templateDAO.consultarPorExemplo(templateExemplo).isEmpty())
            throw new NegocioException("Já existe um Template de nome " + template.getNoTemplate() +
                " na base de dados");
    }
}
